package com.peanut.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @className: com.peanut-> RepestMappingController
 * @description: 这个类是做做什么得吖，小朋友？
 * @author: chenhs
 * @createDate: 2021-08-08 10:42
 * @version: 1.0
 */
@Controller
//@RequestMapping(value = "/testRepestMapping")
@RequestMapping(value = {"/testRepestMapping", "/test"})
public class RepestMappingController {
    @RequestMapping(
            value = "/page1", //匹配请求地址
            method = {RequestMethod.GET, /*RequestMethod.POST */}//限定请求方式，默认不做限制。
    )
    public String name() {
        return "requsetMapping";
    }


    @RequestMapping(
            value = "/page",
            params = {
//                    "!userName", //当前请求不能包含userName这个参数
//                      "userName=admin", //当前属性必须包含 userName 参数,值必须为admin
                    "userName!=admin", //当前属性必须包含 userName 参数,值必须为不为admin
            }
    )
    public String aaa() {
        return "requsetMapping";
    }

    @RequestMapping(
            value = "/header",
            headers = {
                    "Host=localhost:8081" //表示请求头必须要有  Host 值必须是 localhost:8080。
            }
    )
    public String header() {
        return "requsetMapping";
    }
    /**
     * 请求模糊匹配
     * ?单个占位符
     * **多个字符
     * *单个或多个字符
     *
     */
    @RequestMapping(
            value = "/valueAn?"
    )
    public String valueAnt() {
        return "requsetMapping";
    }


    @RequestMapping(
//            {id}占位符  id 为唯一标识，请求时 用了占位符，那么请求的中占位符的位置不能为空必须传值。
//       @PathVariable("id")Integer id 通过唯一标识找到参数。
            value = "/rest/{id}"
    )
    public String rest(@PathVariable("id")Integer id ) {
        for (int i = 0; i <100 ; i++) {
            System.out.println("---------------------------------------------");
        }
        System.out.println("id"+id);
        return "requsetMapping";
    }












    /**
     * RequestMapping
     * value 必填 匹配请求地址.string 或 取数组。
     * method 选填 请求方式 string 或 取数组。 请求返回405表示请求方式不被允许。
     */
}
